package com.yuxucap.game;

import javax.swing.*;
import java.awt.*;

public class MyPanel extends JPanel {
    //声明右侧蛇头和身体图片
    ImageIcon right=new ImageIcon("images/right.png");
    ImageIcon body=new ImageIcon("images/body.png");

    //声明 上 、下、 左侧蛇头图片
    ImageIcon top=new ImageIcon("images/top.png");
    ImageIcon bottom=new ImageIcon("images/bottom.png");
    ImageIcon left=new ImageIcon("images/left.png");

    //声明一个初始值，表示蛇的长度为3
    int len=3;
    //声明两个数组分别存放x和y坐标的位置
    int[] snakeX=new int[1008];//最大值 =宽度格子 *高度格子
    int[] snakeY=new int[1008];//最大值 = 宽度格子 *高度格子
     //声明一个枚举类型变量，表示蛇头方向
    Direction direction=Direction.bottom;
    //声明一个变量，标记游戏是否开始，当值位true表示游戏开始
    public MyPanel() {
        //设定蛇的头部和身体的初始位置
        snakeX[0] = 100;
        snakeY[0] = 100;

        snakeX[1] = 75;
        snakeY[1] = 100;
        snakeX[2] = 50;
        snakeY[2] = 100;
    }
    @Override
   protected void paintComponent(Graphics g) {
        //调用父类值的方法做一些基本工作
        super.paintComponent(g);

        //设置背景颜色
        this.setBackground(Color.BLACK);
        //在画布上 设置游戏的区域
        g.fillRect(0,0,700,900);

        //声明蛇头位置
        //right.paintIcon(this,g,snakeX[0],snakeY[0]);
        //根据枚举变量方向值，进行判断，显示哪个方向的蛇头
        switch(direction){
            case top:
                top.paintIcon(this,g,snakeX[0],snakeY[0]);
                break;
            case bottom:
                bottom.paintIcon(this,g,snakeX[0],snakeY[0]);
                break;
            case left:
                left.paintIcon(this,g,snakeX[0],snakeY[0]);
                break;
            case right:
                right.paintIcon(this,g,snakeX[0],snakeY[0]);
                break;
        }


     /*   //声明蛇身体位置
        body.paintIcon(this,g,snakeX[1],snakeY[1]);
        //声明蛇身体位置
        body.paintIcon(this,g,snakeX[2],snakeY[2]);*/
        for (int i = 1; i < len; i++) {
            body.paintIcon(this,g,snakeX[i],snakeY[i]);
        }
        //放上开始提示信息，并设置字体颜色和字体
        g.setColor(Color.WHITE);
        g.setFont(new Font("宋体", Font.BOLD, 50));
        g.drawString("请按空格建表示游戏开始！",50,500);
    }
}
